1. Field of the Invention
The present invention relates to a technique of dispersing the load of a server by distributing requests of clients to a plurality of servers.
2. Description of the Prior Art
In recent years, network infrastructures such as ATM (Asynchronous Transfer Mode) networks and gigabit Ethernets have been established increasingly and the communication capacity has increased. Also in in-house LANs (Local Area Networks), appropriate networks have been prepared and the speed of client-server communication has been increased. However, increases in communication speed and bandwidth increase the number of processing requests from clients to a server, resulting in the increased processing load of the server.
In the above circumstances, various techniques for dispersing the load of a server have been proposed. For example, Japanese Patent Laid-Open No. 10-124412 discloses a method in which clients monitor the load status of a server. Specifically, each client of a client/server system directly performs data transfer by controlling an I/O device of the server. Each client estimates a network load based on a data read time, and controls the size of a data field for one transfer and the waiting time during one data transfer in accordance with a network load estimation result. The load of the server is decreased in this manner.
As exemplified by LocalDirector(trademark) of CISCO SYSTEMS Inc. and Equalizer(trademark) of COYOTE POINT SYSTEMS Inc., another method is known in which TCP (Transmission Control Protocol) sessions are managed and requests from clients are distributed to a plurality of servers on a session-by-session basis.
However, the technique in which clients monitor the load of a server is low in extendability because a dedicated measure needs to be prepared in the clients. The method in which requests from clients are distributed to a plurality of servers on a session-by-session basis does not necessarily utilize the bandwidth of a network efficiently because managing sessions causes a considerable load in itself.
An object of the present invention is to provide a method and apparatus for distributing requests of clients to a plurality of servers without any need for preparing a special measure in the clients or performing session management.
According to an aspect of the present invention, a method for distributing service requests includes the steps of: classifying, in advance, addresses of a plurality of clients into a plurality of address groups; correlating each of the plurality of address groups with one of a plurality of servers; and sending a service request of a client to a corresponding server depending on which address group the client belongs to.
An address converter according to the invention includes an address conversion table in which a plurality of address groups and addresses of a plurality of servers are stored so as to be correlated with each other, respectively, the plurality of address groups having been generated in advance as a result of classification of addresses of a plurality of clients; and a controller distributing a service request of a client to a corresponding server by referring to the address conversion table, and for providing a requested service to the client.
The addresses of clients are classified in advance and address conversion is performed for each classification item. This makes it possible to distribute requests of clients to a plurality of servers and to disperse the load of each server without the need for performing session management or preparing a special measure in the clients. Further, since it is not necessary to perform session management or prepare a special measure in the clients, the process and the implementation are made easier and hence hardware can be constructed more easily. The processing speed can be made so much higher.
According to another aspect of the present invention, a method includes the steps of: classifying, in advance, addresses of a plurality of clients into a plurality of address groups; correlating each of the plurality of address groups, a kind of service, and one of a plurality of servers with each other; and sending a service request of a client to a corresponding server depending on an address group to which the client belongs and a kind of service that is requested by the client.
An address converter includes an address conversion table in which a plurality of address groups, kinds of service, and addresses of a plurality of servers are stored so as to be correlated with each other, respectively, the plurality of address groups having been generated in advance as a result of classification of addresses of a plurality of clients; and a controller distributing a service request of a client to a corresponding server by referring to the address conversion table, and for providing a requested service to the client.
The invention can be applied to a case where servers perform different services rather than a single service is distributed to a plurality of servers. This enables an operation in which it appears to a client as if one server is performing all services. As a result, in altering or extending the configuration of servers, it is not necessary to change the settings of clients. This makes it very easy to alter or extend a server system.